Self-revealing Gesture

ABSTRACT

Various embodiments provide self-revealing gestures that are designed to provide an indication of how to perform one or more different gestures. In at least one embodiment, an initiation gesture is received, relative to an object. The initiation gesture is configured to cause presentation of a visualization designed to provide an indication of how to perform a different gesture. Responsive to receiving the initiation gesture, the visualization is presented without causing performance of an operation associated with the different gesture.

BACKGROUND

One of the challenges that continues to face designers of devices havinguser-engageable displays, such as touch displays, pertains to providingenhanced functionality for users through gestures that can be employedwith the devices. This is so, not only with devices having larger ormultiple screens, but also in the context of devices having a smallerfootprint, such as tablet PCs, hand-held devices, smaller multi-screendevices and the like.

One challenge with gesture-based input is that of providing the userwith information about the availability of gestures. If users areunaware of gestures that they can use, they will likely not takeadvantage of functionality that is available through the use of agesture.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter.

Various embodiments provide self-revealing gestures that are designed toprovide an indication of how to perform one or more different gestures.

In at least one embodiment, an initiation gesture is received, relativeto an object. The initiation gesture is configured to cause presentationof a visualization designed to provide an indication of how to perform adifferent gesture. Responsive to receiving the initiation gesture, thevisualization is presented without causing performance of an operationassociated with the different gesture.

In at least some other embodiments, a system includes a gesture modulecomprising a gesture initiation module that is configured to enable auser to perform an initiation gesture, relative to an object, to accessa visualization associated with one or more different gestures that canbe performed, relative to the object. The different gesture(s) causesassociated respective operations to be performed on the object. Thesystem also includes one or more gesture performance modules that areconfigured to perform one or more operations on the object,respectively, responsive to receiving input associated with therespective different gesture(s).

In yet other embodiments, a system comprises a module configured toreceive an initiation gesture in the form of a touch gesture to enter ateaching mode, relative to an object, configured to cause an animationto appear that visually provides an indication of how to perform atleast one other gesture relative to the object. The initiation gestureis configured to not cause performance of an operation associated withthe other gesture(s) upon release of the initiation gesture and exitfrom the teaching mode. The module is also configured to cause theanimation to appear responsive to entering the teaching mode and performthe operation responsive to receiving gestural input associated with theother gesture(s).

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementationin accordance with one or more embodiments.

FIG. 2 is an illustration of a system in an example implementationshowing FIG. 1 in greater detail.

FIG. 3 illustrates an example computing device in accordance with one ormore embodiments.

FIG. 4 illustrates an example environment in accordance with one or moreembodiments.

FIG. 5 illustrates an example environment in accordance with one or moreembodiments.

FIG. 6 illustrates an example environment in accordance with one or moreembodiments.

FIG. 7 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 8 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 9 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 10 illustrates an example computing device that can be utilized toimplement various embodiments described herein.

DETAILED DESCRIPTION Overview

Various embodiments provide self-revealing gestures that are designed toprovide an indication of how to perform one or more different gestures.

In at least one embodiment, an initiation gesture is received, relativeto an object. The initiation gesture is configured to cause presentationof a visualization designed to provide an indication of how to perform adifferent gesture. Responsive to receiving the initiation gesture, thevisualization is presented without causing performance of an operationassociated with the different gesture.

In at least some other embodiments, a system includes a gesture modulecomprising a gesture initiation module that is configured to enable auser to perform an initiation gesture, relative to an object, to accessa visualization associated with one or more different gestures that canbe performed, relative to the object. The different gesture(s) causesassociated respective operations to be performed on the object. Thesystem also includes one or more gesture performance modules that areconfigured to perform one or more operations on the object,respectively, responsive to receiving input associated with therespective different gesture(s).

In yet other embodiments, a system comprises a module configured toreceive an initiation gesture in the form of a touch gesture to enter ateaching mode, relative to an object, configured to cause an animationto appear that visually provides an indication of how to perform atleast one other gesture relative to the object. The initiation gestureis configured to not cause performance of an operation associated withthe other gesture(s) upon release of the initiation gesture and exitfrom the teaching mode. The module is also configured to cause theanimation to appear responsive to entering the teaching mode and performthe operation responsive to receiving gestural input associated with theother gesture(s).

In the following discussion, an example environment is first describedthat is operable to employ the gesture techniques described herein.Example illustrations of the gestures and procedures are then described,which may be employed in the example environment, as well as in otherenvironments. Accordingly, the example environment is not limited toperforming the example gestures and the gestures are not limited toimplementation in the example environment.

Example Environment

FIG. 1 is an illustration of an environment 100 in an exampleimplementation that is operable to employ self-revealing gestures asdescribed herein. The illustrated environment 100 includes an example ofa computing device 102 that may be configured in a variety of ways. Forexample, the computing device 102 may be configured as a traditionalcomputer (e.g., a desktop personal computer, laptop computer, and soon), a mobile station, an entertainment appliance, a set-top boxcommunicatively coupled to a television, a wireless phone, a netbook, agame console, a handheld device, and so forth as further described inrelation to FIG. 2. Thus, the computing device 102 may range from fullresource devices with substantial memory and processor resources (e.g.,personal computers, game consoles) to a low-resource device with limitedmemory and/or processing resources (e.g., traditional set-top boxes,hand-held game consoles). The computing device 102 also includessoftware that causes the computing device 102 to perform one or moreoperations as described below.

Computing device 102 includes a gesture initiation module 104 and one ormore gesture performance modules 106 that are operational to providegesture functionality as described in this document. Although thegesture initiation module 104 and gesture performance module(s) 106 areillustrated as separate modules, the functionality provided by eachmodule can be combined in a single module or application.

The modules can be implemented in connection with any suitable type ofhardware, software, firmware or combination thereof. In at least someembodiments, the gesture module is implemented in software that resideson some type of tangible, computer-readable storage medium examples ofwhich are provided below.

Gesture initiation module 104 is representative of functionality thatenables a user to perform an initiation gesture, relative to an objectsuch as a tile, image, and the like. The initiation gesture enablesaccess to a visualization associated with one or more different gesturesthat can be performed by the gesture performance module(s) 106, relativeto the object. The gesture performance module(s) 106 cause associatedrespective operations to be performed on the object responsive toreceiving input associated with the different gesture or gestures.

The gestures may be recognized by modules 104, 106 in a variety ofdifferent ways. For example, the modules may be configured to recognizea touch input, such as a finger of a user's hand 106 a as proximal todisplay device 108 of the computing device 102 using touchscreenfunctionality.

A variety of different types of gestures may be recognized by modules104, 106 including, by way of example and not limitation, gestures thatare recognized from a single type of input (e.g., touch gestures), aswell as gestures involving multiple types of inputs. For example, themodules can be utilized to recognize single-finger gestures and bezelgestures, multiple-finger/same-hand gestures and bezel gestures, and/ormultiple-finger/different-hand gestures and bezel gestures.

For example, the computing device 102 may be configured to detect anddifferentiate between a touch input (e.g., provided by one or morefingers of the user's hand 106 a) and a stylus input (e.g., provided bya stylus 116). The differentiation may be performed in a variety ofways, such as by detecting an amount of the display device 108 that iscontacted by the finger of the user's hand 106 a versus an amount of thedisplay device 108 that is contacted by the stylus 116.

Thus, the modules may support a variety of different gesture techniquesthrough recognition and leverage of a division between stylus and touchinputs, as well as different types of touch inputs.

FIG. 2 illustrates an example system showing the gesture initiationmodule 104 and gesture performance module 106 as being implemented in anenvironment where multiple devices are interconnected through a centralcomputing device. The central computing device may be local to themultiple devices or may be located remotely from the multiple devices.In one embodiment, the central computing device is a “cloud” serverfarm, which comprises one or more server computers that are connected tothe multiple devices through a network or the Internet or other means.

In one embodiment, this interconnection architecture enablesfunctionality to be delivered across multiple devices to provide acommon and seamless experience to the user of the multiple devices. Eachof the multiple devices may have different physical requirements andcapabilities, and the central computing device uses a platform to enablethe delivery of an experience to the device that is both tailored to thedevice and yet common to all devices. In one embodiment, a “class” oftarget device is created and experiences are tailored to the genericclass of devices. A class of device may be defined by physical featuresor usage or other common characteristics of the devices. For example, aspreviously described the computing device 102 may be configured in avariety of different ways, such as for mobile 202, computer 204, andtelevision 206 uses. Each of these configurations has a generallycorresponding screen size and thus the computing device 102 may beconfigured as one of these device classes in this example system 200.For instance, the computing device 102 may assume the mobile 202 classof device which includes mobile telephones, music players, game devices,and so on. The computing device 102 may also assume a computer 204 classof device that includes personal computers, laptop computers, netbooks,and so on. The television 206 configuration includes configurations ofdevice that involve display in a casual environment, e.g., televisions,set-top boxes, game consoles, and so on. Thus, the techniques describedherein may be supported by these various configurations of the computingdevice 102 and are not limited to the specific examples described in thefollowing sections.

Cloud 208 is illustrated as including a platform 210 for web services212. The platform 210 abstracts underlying functionality of hardware(e.g., servers) and software resources of the cloud 208 and thus may actas a “cloud operating system.” For example, the platform 210 mayabstract resources to connect the computing device 102 with othercomputing devices. The platform 210 may also serve to abstract scalingof resources to provide a corresponding level of scale to encountereddemand for the web services 212 that are implemented via the platform210. A variety of other examples are also contemplated, such as loadbalancing of servers in a server farm, protection against maliciousparties (e.g., spam, viruses, and other malware), and so on.

Thus, the cloud 208 is included as a part of the strategy that pertainsto software and hardware resources that are made available to thecomputing device 102 via the Internet or other networks. For example,the gesture module 104 may be implemented in part on the computingdevice 102 as well as via a platform 210 that supports web services 212.

For example, the gesture techniques supported by the modules 104, 106may be detected using touchscreen functionality in the mobileconfiguration 202, track pad functionality of the computer 204configuration, detected by a camera as part of support of a natural userinterface (NUI) that does not involve contact with a specific inputdevice, and so on. Further, performance of the operations to detect andrecognize the inputs to identify a particular gesture may be distributedthroughout the system 200, such as by the computing device 102 and/orthe web services 212 supported by the platform 210 of the cloud 208.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. The terms“module,” “functionality,” and “logic” as used herein generallyrepresent software, firmware, hardware, or a combination thereof. In thecase of a software implementation, the module, functionality, or logicrepresents program code that performs specified tasks when executed onor by a processor (e.g., CPU or CPUs). The program code can be stored inone or more computer readable memory devices. The features of thegesture techniques described below are platform-independent, meaningthat the techniques may be implemented on a variety of commercialcomputing platforms having a variety of processors.

In the discussion that follows, various sections describe exampleself-revealing gestures. A section entitled “Self-RevealingGesture—Teaching Mode” describes how a self-revealing gesture can beutilized to enter a teaching mode in accordance with one or moreembodiments. Next, a section entitled “Example Methods” describesexample methods in accordance with one or more embodiments. Last, asection entitled “Example Device” describes aspects of an example devicethat can be utilized to implement one or more embodiments.

Self-Revealing Gesture—Teaching Mode

In one or more embodiments, a self-revealing gesture, such as a touchgesture or some other type of gesture, can be utilized to initiate andenter into a teaching mode. The teaching mode is designed to provide theuser with some kind of indication of how to perform gestures relative toan object of interest. The teaching mode is also designed to beavailable on-demand, when a user may wish to learn about availablegestures. As such, the teaching mode is available at times other thanfixed times such as at startup. Any suitable type of indication can beutilized. For example, in at least some embodiments, a visualization ispresented, relative to the object of interest, to provide an indicationof how to perform one or more gestures relative to the object. In atleast some embodiments, the visualization is provided near the object oroverlapping at least a portion of the object. In these embodiments,there is a one-to-one correspondence between the visualization and aparticular object of interest. Having a one-to-one correspondencebetween the visualization and the particular object of interest canreinforce the association between the available gestures and theparticular object. In this way, in at least some embodiments, thevisualization can be provided in locations other than those typicallyassociated with fixed user interface locations such as, by way ofexample and not limitation, side panes or an application's chrome.

In addition, the teaching mode is, in at least some embodiments,repeatable across a variety of objects. For example, the particulardisplay may show numerous objects. Each of the objects may be responsiveto the same collection of gestures or to different gestures. In theseinstances, the teaching mode may be initiated with respect to each ofthe different objects and their respective gestures.

As an example, consider FIG. 3 which illustrates an environment 300 inaccordance with one or more embodiments. Here, computing device 302includes a display device 308 whose content can be scrolled or panned.Display device 308 has displayed, thereon, multiple different objects oritems 310, 312, 314, 316, 318, 320, 322, 324 which are shown in theirentireties, and partial objects or items 326, 328. In this particularexample, the object or items comprise tiles.

Assume in this example, that a user may not understand or appreciate allof the gestures that are available to be used in connection with thedifferent objects or items. Through the use of an initiation gesture,however, a visualization can be presented that is designed to provide anindication of how to perform one or more gestures associated with theobjects or items.

As an example, consider together the top-most and bottom-mostillustrations of computing device 302. There, in the top-mostillustration, a user's hand 306 a has performed an initiation gestureassociated with object 312. The initiation gesture can comprise anysuitable type of gesture such as, by way of example and not limitation,a touch gesture, a gesture other than a touch gesture (such as a gesturethat utilizes a natural user interface (NUI)), a tap gesture, a pressand hold gesture, a single finger gesture, a multi-finger gesture, andthe like. In the illustrated and described embodiment, the initiationgesture comprises a press and hold gesture that is held for a particularduration of time such as, for example, one second.

Responsive to receiving the initiation gesture, a visualization ispresented that is designed to provide an indication of how to performone or more gestures that are different from the initiation gesture. Asan example, consider the bottom-most illustration. There, object or item312 wiggles or moves downwardly a certain distance to indicate that agesture can be utilized to cause a relocation operation to move objector item 312 to a different location. Notice that the user's hand 306 ahas not moved relative to the object. Rather, the object has movedrelative to the user's hand. Notice also that a check mark has appearedto indicate that the object can be selected by dragging it down. If theuser releases the initiation gesture, the object will move back into itsoriginal location without any state changes. Now the user has seen avisual teaching them that they can drag down to reveal a check mark.This indicates that the object has been selected. In this instance, thevisualization resides in the form of an animation which causes theobject to be moved downwardly as shown in the bottom-most illustration.The animation can be considered as one type of non-textualvisualization. Other visualizations can be employed. For example, asmall picture of the gesture (e.g., a finger moving the object) can bedisplayed next to the object or a video animation can be employed. Othernon-textual visualizations can be utilized, as will become apparentbelow. In one or more embodiments, a threshold can be employed to allowthe user to complete the move or relocation gesture. For example, if theuser now moves the object downwardly past the threshold, a move gesturecan be invoked and performed.

It is to be appreciated and understood, however, that the visualizationcan alternately or additionally comprise a textual visualization thatincludes some textual information. For example, upon receiving theinitiation gesture, a tool tip or some other type of user interfaceinstrumentality can be presented that textually describes a gesture orgestures that can be utilized relative to the object.

FIG. 4 illustrates another environment 400 in accordance with one ormore embodiments. Here, computing device 302 includes a display device308 whose content can be scrolled or panned. Display device 308 hasdisplayed, thereon, multiple different objects or items 310, 312, 314,316, 318, 320, 322, 324 which are shown in their entireties, and partialobjects or items 326, 328. In this particular example, the object oritems comprise tiles.

As in the above example, in the top-most illustration, a user's hand 306a has performed an initiation gesture associated with object 312. Theinitiation gesture can comprise any suitable type of gesture such asthose mentioned above. In the illustrated and described embodiment, theinitiation gesture comprises a press and hold gesture that is held for aparticular duration of time such as, for example, one second.

Responsive to receiving the initiation gesture, a visualization ispresented that is designed to provide an indication of how to performone or more gestures that are different from the initiation gesture. Asan example, consider the bottom-most illustration. There, a non-textualvisualization in the form of a dot 402 is presented adjacent oroverlapping at least a portion of object 312. The presence of the dot402 indicates that a second finger or a thumb may be pressed down toperform a different gesture such as, by way of example and notlimitation, a pinch gesture to access functionality such as an expandoperation.

FIG. 5 illustrates another environment 500 in accordance with one ormore embodiments. Here, computing device 302 includes a display device308 whose content can be scrolled or panned. Display device 308 hasdisplayed, thereon, multiple different objects or items 310, 312, 314,316, 318, 320, 322, 324 which are shown in their entireties, and partialobjects or items 326, 328. In this particular example, the object oritems comprise tiles.

As in the above examples, in the top-most illustration, a user's hand306 a has performed an initiation gesture associated with object 312.The initiation gesture can comprise any suitable type of gesture such asthose mentioned above. In the illustrated and described embodiment, theinitiation gesture comprises a press and hold gesture that is held for aparticular duration of time such as, for example, one second.

Responsive to receiving the initiation gesture, a visualization ispresented that is designed to provide an indication of how to performone or more gestures that are different from the initiation gesture. Asan example, consider the bottom-most illustration. There, a non-textualvisualization in the form of a pair of rails 502 is presented adjacentat least a portion of object 312. The presence of the rails 502indicates that the object or item can be moved or relocated byinitiating movement of the object along the rails.

FIG. 6 illustrates another environment 600 in accordance with one ormore embodiments. Here, computing device 302 includes a display device308 whose content can be scrolled or panned. Display device 308 hasdisplayed, thereon, multiple different objects or items 310, 312, 314,316, 318, 320, 322, 324 which are shown in their entireties, and partialobjects or items 326, 328. In this particular example, the object oritems comprise tiles.

As in the above examples, in the top-most illustration, a user's hand306 a has performed an initiation gesture associated with object 312.The initiation gesture can comprise any suitable type of gesture such asthose mentioned above. In the illustrated and described embodiment, theinitiation gesture comprises a press and hold gesture that is held for aparticular duration of time such as, for example, one second.

Responsive to receiving the initiation gesture, a visualization ispresented that is designed to provide an indication of how to performone or more gestures that are different from the initiation gesture. Asan example, consider the bottom-most illustration. There, a non-textualvisualization in the form of a plurality of arrows is presented adjacentat least a portion of object 312. The arrows indicate that the object oritem can be expanded in multiple different directions corresponding tothe arrows by, for example, a multi-finger spread gesture.

In one or more embodiments, the teaching mode can be exited by releasingthe initiation gesture. When the initiation gesture is released, thereis no corresponding activation of an associated gesture. For example,sometimes a press and hold gesture can cause an activation such as anobject selection. In the illustrated and described embodiments, when apress and hold gesture is utilized as the initiation gesture, there isno corresponding selection activation. Rather, the teaching mode isentered and a visualization is provided to indicate to the user how toperform one or more gestures associated with an underlying object oritem. In one or more embodiments, during the teaching mode the user isstill able to perform an actual action associated with a taught gesture.For example, if the user presses and holds and the teaching mode isentered, at any time during the teaching mode, the user can override theteaching mode by performing an action, such as dragging the objectdownwardly. In this instance, the visualization experience isnon-committal. In this instance, the teaching mode is there for the userto use when it is needed or desired. However, once the initiationgesture is performed and released, the teaching mode is exited and theuser is free to perform other gestures associated with the object. Theteaching mode can also be exited by releasing the initiation gesture andby performing the intended gesture associated with the object or item ormy moving from the initiation gesture to another gesture as byperforming the initiation gesture and then moving one's finger down thescreen to invoke another gesture.

Having considered various embodiments that utilize self-revealinggestures to enter a teaching mode, consider now an example methods inaccordance with one or more embodiments.

Example Methods

FIG. 7 is a flow diagram that describes steps in a method in accordancewith one or more embodiments. The method can be performed in connectionwith any suitable hardware, software, firmware, or combination thereof.In at least some embodiments, the method can be performed by a suitablyconfigured module or modules, such as those modules described above.

Step 700 receives an initiation gesture, relative to an object,configured to cause presentation of a visualization designed to providean indication of how to perform a different gesture. Responsive toreceiving the initiation gesture, step 702 presents the visualizationwithout causing performance of an operation associated with thedifferent gesture. Examples of how this can be done are provided above.

FIG. 8 is a flow diagram that describes steps in a method in accordancewith one or more embodiments. The method can be performed in connectionwith any suitable hardware, software, firmware, or combination thereof.In at least some embodiments, the method can be performed by a suitablyconfigured module or modules, such as those modules described above.

Step 800 enables performance of an initiation gesture, relative to anobject, to access a visualization associated with one or more differentgestures that can be performed, relative to the object, to causeassociated respective operations to be performed on the object. Step 802presents a visualization designed to provide an indication of how toperform one or more different gestures. Examples of how this can be doneare provided above. Step 804 performs one or more operations on theobject, respectively, responsive to receiving input associated with thedifferent gesture(s).

FIG. 9 is a flow diagram that describes steps in a method in accordancewith one or more embodiments. The method can be performed in connectionwith any suitable hardware, software, firmware, or combination thereof.In at least some embodiments, the method can be performed by a suitablyconfigured module or modules, such as those modules described above.

Step 900 receives an initiation gesture in the form of a touch gestureto enter a teaching mode, relative to an object. The teaching mode isconfigured to cause an animation to appear that visually provides anindication of how to perform at least one other gesture relative to theobject. The initiation gesture is configured to not cause performance ofan operation associated with the other gesture(s) upon release of theinitiation gesture and exit from the teaching mode. Step 902 causes ananimation to appear responsive to entering the teaching mode. Step 904performs an associated operation responsive to receiving gestural inputassociated with the other gesture(s). Examples of how this can be doneare provided above.

Having described various methods in accordance with one or moreembodiments, consider now an example device that can be utilized toimplement the various embodiments described above.

Example Device

FIG. 10 illustrates various components of an example device 1000 thatcan be implemented as any type of portable and/or computer device asdescribed with reference to FIGS. 1 and 2 to implement embodiments ofthe gesture techniques described herein. Device 1000 includescommunication devices 1002 that enable wired and/or wirelesscommunication of device data 1004 (e.g., received data, data that isbeing received, data scheduled for broadcast, data packets of the data,etc.). The device data 1004 or other device content can includeconfiguration settings of the device, media content stored on thedevice, and/or information associated with a user of the device. Mediacontent stored on device 1000 can include any type of audio, video,and/or image data. Device 1000 includes one or more data inputs 1006 viawhich any type of data, media content, and/or inputs can be received,such as user-selectable inputs, messages, music, television mediacontent, recorded video content, and any other type of audio, video,and/or image data received from any content and/or data source.

Device 1000 also includes communication interfaces 1008 that can beimplemented as any one or more of a serial and/or parallel interface, awireless interface, any type of network interface, a modem, and as anyother type of communication interface. The communication interfaces 1008provide a connection and/or communication links between device 1000 anda communication network by which other electronic, computing, andcommunication devices communicate data with device 1000.

Device 1000 includes one or more processors 1010 (e.g., any ofmicroprocessors, controllers, and the like) which process variouscomputer-executable or readable instructions to control the operation ofdevice 1000 and to implement the gesture embodiments described above.Alternatively or in addition, device 1000 can be implemented with anyone or combination of hardware, firmware, or fixed logic circuitry thatis implemented in connection with processing and control circuits whichare generally identified at 1012. Although not shown, device 1000 caninclude a system bus or data transfer system that couples the variouscomponents within the device. A system bus can include any one orcombination of different bus structures, such as a memory bus or memorycontroller, a peripheral bus, a universal serial bus, and/or a processoror local bus that utilizes any of a variety of bus architectures.

Device 1000 also includes computer-readable media 1014, such as one ormore memory components, examples of which include random access memory(RAM), non-volatile memory (e.g., any one or more of a read-only memory(ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. Adisk storage device may be implemented as any type of magnetic oroptical storage device, such as a hard disk drive, a recordable and/orrewriteable compact disc (CD), any type of a digital versatile disc(DVD), and the like. Device 1000 can also include a mass storage mediadevice 1016.

Computer-readable media 1014 provides data storage mechanisms to storethe device data 1004, as well as various device applications 1018 andany other types of information and/or data related to operationalaspects of device 1000. For example, an operating system 1020 can bemaintained as a computer application with the computer-readable media1014 and executed on processors 1010. The device applications 1018 caninclude a device manager (e.g., a control application, softwareapplication, signal processing and control module, code that is nativeto a particular device, a hardware abstraction layer for a particulardevice, etc.), as well as other applications that can include, webbrowsers, image processing applications, communication applications suchas instant messaging applications, word processing applications and avariety of other different applications. The device applications 1018also include any system components or modules to implement embodimentsof the gesture techniques described herein. In this example, the deviceapplications 1018 include an interface application 1022 and agesture-capture driver 1024 that are shown as software modules and/orcomputer applications. The gesture-capture driver 1024 is representativeof software that is used to provide an interface with a deviceconfigured to capture a gesture, such as a touchscreen, track pad,camera, and so on. Alternatively or in addition, the interfaceapplication 1022 and the gesture-capture driver 1024 can be implementedas hardware, software, firmware, or any combination thereof. Inaddition, a gesture initiation module 1025 a and gesture performancemodule 1025 b are provided and operate as described above.

Device 1000 also includes an audio and/or video input-output system 1026that provides audio data to an audio system 1028 and/or provides videodata to a display system 1030. The audio system 1028 and/or the displaysystem 1030 can include any devices that process, display, and/orotherwise render audio, video, and image data. Video signals and audiosignals can be communicated from device 1000 to an audio device and/orto a display device via an RF (radio frequency) link, S-video link,composite video link, component video link, DVI (digital videointerface), analog audio connection, or other similar communicationlink. In an embodiment, the audio system 1028 and/or the display system1030 are implemented as external components to device 1000.Alternatively, the audio system 1028 and/or the display system 1030 areimplemented as integrated components of example device 1000.

CONCLUSION

Various embodiments provide self-revealing gestures that are designed toprovide an indication of how to perform one or more different gestures.In at least one embodiment, an initiation gesture is received, relativeto an object. The initiation gesture is configured to cause presentationof a visualization designed to provide an indication of how to perform adifferent gesture. Responsive to receiving the initiation gesture, thevisualization is presented without causing performance of an operationassociated with the different gesture.

Although the embodiments have been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the embodiments defined in the appended claims are not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed embodiments.

What is claimed is:
 1. A method comprising: receiving an initiationgesture, relative to an object, configured to cause presentation of avisualization designed to provide an indication of how to perform adifferent gesture; and responsive to said receiving, presenting thevisualization without causing performance of an operation associatedwith the different gesture.
 2. The method of claim 1, wherein receivingan initiation gesture comprises receiving a press and hold gesture. 3.The method of claim 1, wherein receiving an initiation gesture comprisesreceiving a tap gesture.
 4. The method of claim 1, wherein receiving aninitiation gesture comprises receiving a single finger gesture.
 5. Themethod of claim 1, wherein receiving an initiation gesture comprisesreceiving a multi-finger gesture.
 6. The method of claim 1, whereinreceiving an initiation gesture comprises receiving a touch gesture. 7.The method of claim 1, wherein presenting the visualization comprisespresenting an animation.
 8. The method of claim 1, wherein presentingthe visualization comprises presenting at least some textualinformation.
 9. The method of claim 1, wherein presenting thevisualization comprises presenting a non-textual visualization.
 10. Themethod of claim 1, wherein said different gesture comprises a gesture tocause an operation to move the object.
 11. The method of claim 1,wherein said object comprises a tile.
 12. One or more computer readablestorage media embodying computer readable instructions which, whenexecuted, implement a system comprising: a gesture module comprising: agesture initiation module configured to enable a user to perform aninitiation gesture, relative to an object, to access a visualizationassociated with one or more different gestures that can be performed,relative to the object, to cause associated respective operations to beperformed on the object; one or more gesture performance modulesconfigured to perform one or more operations on the object,respectively, responsive to receiving input associated with the one ormore respective different gestures.
 13. The one or more computerreadable storage media of claim 12, wherein the initiation gesturecomprises a press and hold gesture.
 14. The one or more computerreadable storage media of claim 12, wherein the initiation gesturecomprises a gesture other than a press and hold gesture.
 15. The one ormore computer readable storage media of claim 12, wherein the initiationgesture comprises a touch gesture.
 16. The one or more computer readablestorage media of claim 12, wherein the initiation gesture comprises agesture other than a touch gesture.
 17. A system comprising: a moduleconfigured to: receive an initiation gesture in the form of a touchgesture to enter a teaching mode, relative to an object, configured tocause an animation to appear that visually provides an indication of howto perform at least one other gesture relative to the object, theinitiation gesture being configured to not cause performance of anoperation associated with said at least one other gesture upon releaseof the initiation gesture and exit from the teaching mode; cause theanimation to appear responsive to entering the teaching mode; andperform said operation responsive to receiving gestural input associatedwith said at least one other gesture.
 18. The system of claim 17,wherein said operation comprises an object relocation operation.
 19. Thesystem of claim 17, wherein said at least one other gesture comprises asingle finger gesture.
 20. The system of claim 17, wherein said at leastone other gesture comprises a multi-finger gesture.